home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / c / stut_src / arbofile.c < prev    next >
Text File  |  1996-05-26  |  2KB  |  142 lines

  1. /*
  2.  * ArboFile.c
  3.  *
  4.  * Purpose:
  5.  * --------
  6.  * Traitement des fichiers arbo (.ARB)
  7.  */
  8.  
  9.     #include "!OPTIONS.H"                /* Options de compilation */         
  10.     #define    THIS_FILE    "ARBOFILE.C v1.00 - 03.95"
  11.           
  12. /*
  13.  * System headers:
  14.  */
  15.     #include    <stdio.h>
  16.     #include <stdlib.h>                    /* Malloc etc... */
  17.     #include    <string.h>                    /* Memcpy etc... */
  18.     
  19. /*
  20.  * Custom headers:
  21.  */
  22.     #include    "ARB_OUT.H"
  23.  
  24.     #include "SPEC_PU.H"                    /* Listes... */    
  25.     #include    "DEBUG_PU.H"    
  26.     #include    "DEF_ARBO.H"    /* this */
  27.     #include    "AFILE_PU.H"    /* this */
  28.     #include "WIN_PU.H"
  29.  
  30. /*
  31.  * Types:
  32.  */
  33. typedef
  34.     struct
  35.     {
  36.         int                n_int;
  37.         unsigned long    dw_dword;
  38.     }
  39.     INT_DWORD;
  40.  
  41.  
  42. /*
  43.  * Variables:
  44.  */
  45.     /*
  46.      * Correspondances entre champs d'‚dition et identifiants de champs 
  47.      * pour base de donn‚es:
  48.      * Sert uniquement … la mise … jour des fichiers de version 0.02
  49.      */
  50.     static    INT_DWORD    M_FieldFnctVsId[]=
  51.     {
  52.         FEI_USERNAME,        'USER',
  53.         FEI_FIRSTNAME,        '1STN',
  54.         FEI_LASTNAME,        'LSTN',
  55.         FEI_PASSWORD,        'PASS',
  56.  
  57.         FEI_OFFICE,            'OFFC',
  58.  
  59.         FEI_ADDRESS1,        'ADR1',
  60.         FEI_ADDRESS2,        'ADR2',
  61.         FEI_ZIP,                'ZIPC',
  62.         FEI_TOWN,            'TOWN',
  63.         FEI_STATE,            'ETAT',
  64.         FEI_COUNTRY,        'PAYS',
  65.  
  66.         FEI_PHONE,            'PHON',
  67.         FEI_FAX,                'FAXN',
  68.         FEI_MODEM,            'MODM',
  69.  
  70.         FEI_TITLE,            'MTIT',
  71.         FEI_TEXT,            'MTXT',
  72.         NIL_1,                0
  73.     };
  74.  
  75.     static    INT_DWORD    M_OutFieldFnctVsId[]=
  76.     {
  77.         FO_USERNAME,        'USER',
  78.         FO_FIRSTNAME,        '1STN',
  79.         FO_LASTNAME,        'LSTN',
  80.         FO_TITLE,            'MTIT',
  81.         FO_TEXT,                'MTXT',
  82.         FO_DSTA,                'DSTA',
  83.         FO_MPSE,                'MPSE',
  84.         NIL_1,                0
  85.     };
  86.  
  87.  
  88.  
  89. /*
  90.  * get_InFieldCode(-)
  91.  *
  92.  * pour maj fichiers v 0.02 uniquement
  93.  * 
  94.  * 23.01.95: created
  95.  */ 
  96. ULONG    get_InFieldCode(        /* Out: code correspondant au champ */
  97.             int    n_fnct )        /* In: no de fonction */
  98. {
  99.     int    i;    
  100.  
  101.     for( i=0; M_FieldFnctVsId[ i ] .n_int != NIL_1; i++ )
  102.     {
  103.         if( M_FieldFnctVsId[ i ] .n_int == n_fnct )
  104.         {
  105.             return    M_FieldFnctVsId[ i ] .dw_dword;
  106.         }
  107.     }
  108.  
  109.     /*
  110.      * Not Accurate
  111.      */    
  112.     return    'N.A.';
  113. }
  114.  
  115.  
  116.  
  117. /*
  118.  * get_OutFieldCode(-)
  119.  *
  120.  * pour maj fichiers v 0.02 uniquement
  121.  * 
  122.  * 24.01.95: created
  123.  */ 
  124. ULONG    get_OutFieldCode(        /* Out: code correspondant au champ */
  125.             int    n_fnct )        /* In: no de fonction */
  126. {
  127.     int    i;    
  128.  
  129.     for( i=0; M_OutFieldFnctVsId[ i ] .n_int != NIL_1; i++ )
  130.     {
  131.         if( M_OutFieldFnctVsId[ i ] .n_int == n_fnct )
  132.         {
  133.             return    M_OutFieldFnctVsId[ i ] .dw_dword;
  134.         }
  135.     }
  136.  
  137.     /*
  138.      * Not Accurate
  139.      */    
  140.     return    'N.A.';
  141. }
  142.